C语言求"派"的值

来源:百度知道 编辑:UC知道 时间:2024/06/23 20:26:05
#include "stdio.h"

#include "math.h"

main()
{
int n = 1;

float pi = 0.0, m, k;

m = 2 * n - 1;
while ( fabs( pi ) > 1e-6 )

{

pi = pi + 1 / m;

n++;

m = 2 * n - 1;

m = -m;

}

printf( "%f", pi * 4);
getch();

return 0;

}

我搞了半天也没搞懂,输出的结果是0.000000,
而不是3.141594
不知道原因出在哪..请大家帮我分析分析

#include "stdio.h"

#include "math.h"

main()
{
int n = 1;

float pi = 0.0, m, k;

m = 2 * n - 1;
while ( fabs( pi ) > 1e-6 ) /*你看一下,这个是什么意思:pi的绝对值大于1e-6,直至pi的绝对值小于1e-6,我们要的PI是3.14啊,好好想一下逻辑*/

{

pi = pi + 1 / m;

n++;

m = 2 * n - 1;

m = -m;

}

printf( "%f", pi * 4);
getch();

return 0;

}

1.你一开始初始化PI为0, 0>1e-6吗??根本就没有进入while循环

2.既然声明m k 都为float型 后面的运算中都要保证他是float 例如pi = pi + 1 / m改成pi = pi + 1.0 / m;

还有问题给我留言